Colecciones

Descripcion

Manejar colecciones de datos en C#:

Usar Listas

Para usar listas las creamos usando la palabra reservada List de la siguiente manera:

List<string> lista = new List<string>();

Al crear una lista tenemos que indicar con un generic el tipo de datos que contendrá la lista, en este caso hemos indicado string.

Ejemplo de uso de una lista:

List<string> lista = new List<string>();

lista.Add("Casa");
lista.Add("Coche");
lista.Add("Arbol");

foreach (var item in lista)
{
    Console.WriteLine(item);
}
Usar Diccionarios

Para usar diccionarios utilizamos la palabra reservada Dictionary de la siguiente manera:

Dictionary<int, string> diccionario = new Dictionary<int, string>();

Ejemplo de uso de un diccionario:

Dictionary<int, string> diccionario = new Dictionary<int, string>();

diccionario.Add(20, "Veinte");
diccionario.Add(34, "Treinta y cuatro");
diccionario.Add(68, "Sesenta y ocho");

foreach( var item in diccionario)
{
    Console.WriteLine($"{item.Key} => {item.Value}");
}
Usar Pilas (Stacks)

Para crear pilas usamos la palabra reservada Stack:

Las pilas nos permiten almacenar elementos utilizando una mecánica LIFO (Last In First Out)

Usamos los siguiente metodos para gestionar una lista:

Stack<string> pila = new Stack<string>();

pila.Push("Hola");
pila.Push("Adios");

Console.WriteLine(pila.Peek());

Console.WriteLine(pila.Pop());
Console.WriteLine(pila.Peek());

Cuando intentamos sacar un elemento de una pila vacia obtenemos la siguiente excepción:

Unhandled exception. System.InvalidOperationException: Stack empty.
Usar Colas (Queues)

Para usar colas usamos la palabra reservada Queue:

Queue<string> cola = new Queue<string>();

Las colas funcionan con una mecánica FIFO (First In First Out)

Ejemplo de uso de colas:

Queue<string> cola = new Queue<string>();

cola.Enqueue("Hola");
cola.Enqueue("Adios");

Console.WriteLine(cola.Dequeue());

Console.WriteLine(cola.Dequeue());

Cuando intentamos "desencolar" un elemento en una cola que está vacía obtenemos la siguiente excepción:

Unhandled exception. System.InvalidOperationException: Queue empty.
Tags

C# | Colecciones